<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libcoap: uthash.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">libcoap<span id="projectnumber">&#160;4.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('uthash_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle"><div class="title">uthash.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div>
<p><a href="uthash_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html">UT_hash_table</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html">UT_hash_handle</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa56cef9cb86dc1f4b5d27ee3a691077e" id="r_aa56cef9cb86dc1f4b5d27ee3a691077e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e">UTHASH_VERSION</a>&#160;&#160;&#160;2.0.2</td></tr>
<tr class="separator:aa56cef9cb86dc1f4b5d27ee3a691077e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a716ba290563c2d955cb0c90d85874073" id="r_a716ba290563c2d955cb0c90d85874073"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(x)&#160;&#160;&#160;(__typeof(x))</td></tr>
<tr class="separator:a716ba290563c2d955cb0c90d85874073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c736f2f2dd643f2987b2bc323e269ba" id="r_a3c736f2f2dd643f2987b2bc323e269ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(dst,  src)</td></tr>
<tr class="separator:a3c736f2f2dd643f2987b2bc323e269ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03b52301b0ed976b6981ef33613320c1" id="r_a03b52301b0ed976b6981ef33613320c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>(msg)&#160;&#160;&#160;exit(-1)        /* fatal error (out of memory,etc) */</td></tr>
<tr class="separator:a03b52301b0ed976b6981ef33613320c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a861013aff36c0448f1888a2b0b5836d8" id="r_a861013aff36c0448f1888a2b0b5836d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(sz)&#160;&#160;&#160;malloc(sz)      /* malloc fcn                      */</td></tr>
<tr class="separator:a861013aff36c0448f1888a2b0b5836d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56cdf8c254fc700332c8e6a7263b4657" id="r_a56cdf8c254fc700332c8e6a7263b4657"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash_free</a>(ptr,  sz)&#160;&#160;&#160;free(ptr)     /* free fcn                        */</td></tr>
<tr class="separator:a56cdf8c254fc700332c8e6a7263b4657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a40785784ca2d51cb59370eb64d7de" id="r_af6a40785784ca2d51cb59370eb64d7de"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#af6a40785784ca2d51cb59370eb64d7de">uthash_bzero</a>(a,  n)&#160;&#160;&#160;memset(a,'\0',n)</td></tr>
<tr class="separator:af6a40785784ca2d51cb59370eb64d7de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca9a884b81d487034b57f87d2f97fa4" id="r_a8ca9a884b81d487034b57f87d2f97fa4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a8ca9a884b81d487034b57f87d2f97fa4">uthash_memcmp</a>(a,  b,  n)&#160;&#160;&#160;memcmp(a,b,n)</td></tr>
<tr class="separator:a8ca9a884b81d487034b57f87d2f97fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa14634cb1f894d48256362bae7239be6" id="r_aa14634cb1f894d48256362bae7239be6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(s)&#160;&#160;&#160;strlen(s)</td></tr>
<tr class="separator:aa14634cb1f894d48256362bae7239be6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cc237d8f87de3836b5390856cfc5c86" id="r_a7cc237d8f87de3836b5390856cfc5c86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86">uthash_noexpand_fyi</a>(tbl)&#160;&#160;&#160;/* can be defined to log noexpand  */</td></tr>
<tr class="separator:a7cc237d8f87de3836b5390856cfc5c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ea78714da520989a6f7a764b4d71b4" id="r_a86ea78714da520989a6f7a764b4d71b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4">uthash_expand_fyi</a>(tbl)&#160;&#160;&#160;/* can be defined to log expands   */</td></tr>
<tr class="separator:a86ea78714da520989a6f7a764b4d71b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a361cdc5e8d6d8fe5fae6912588ae15d0" id="r_a361cdc5e8d6d8fe5fae6912588ae15d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>&#160;&#160;&#160;32U     /* initial number of buckets        */</td></tr>
<tr class="separator:a361cdc5e8d6d8fe5fae6912588ae15d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b39a5cf1d6c05c43bd8530db2ec908c" id="r_a0b39a5cf1d6c05c43bd8530db2ec908c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a>&#160;&#160;&#160;5U /* lg2 of initial number of buckets */</td></tr>
<tr class="separator:a0b39a5cf1d6c05c43bd8530db2ec908c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae3e6473261f6c4b78c030c94f5d68f" id="r_a8ae3e6473261f6c4b78c030c94f5d68f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a>&#160;&#160;&#160;10U     /* expand when bucket count reaches */</td></tr>
<tr class="separator:a8ae3e6473261f6c4b78c030c94f5d68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a568e95048979b8b3e4ea1567fd91c186" id="r_a568e95048979b8b3e4ea1567fd91c186"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl,  hhp)&#160;&#160;&#160;((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</td></tr>
<tr class="separator:a568e95048979b8b3e4ea1567fd91c186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46261e43585c404cccf8ab0f5c6d271e" id="r_a46261e43585c404cccf8ab0f5c6d271e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a46261e43585c404cccf8ab0f5c6d271e">HH_FROM_ELMT</a>(tbl,  elp)&#160;&#160;&#160;((<a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> *)(((char*)(elp)) + ((tbl)-&gt;hho)))</td></tr>
<tr class="separator:a46261e43585c404cccf8ab0f5c6d271e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bc1c6438f5d6fc56b8dcbf4bbe50271" id="r_a5bc1c6438f5d6fc56b8dcbf4bbe50271"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a5bc1c6438f5d6fc56b8dcbf4bbe50271">HASH_VALUE</a>(keyptr,  keylen,  hashv)</td></tr>
<tr class="separator:a5bc1c6438f5d6fc56b8dcbf4bbe50271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2b27fc2a6b13aece881528f45de693" id="r_afc2b27fc2a6b13aece881528f45de693"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#afc2b27fc2a6b13aece881528f45de693">HASH_FIND_BYHASHVALUE</a>(hh,  head,  keyptr,  keylen,  hashval,  out)</td></tr>
<tr class="separator:afc2b27fc2a6b13aece881528f45de693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4a1cd39c3044936c0e49d3f372c9dbf" id="r_ad4a1cd39c3044936c0e49d3f372c9dbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,  head,  keyptr,  keylen,  out)</td></tr>
<tr class="separator:ad4a1cd39c3044936c0e49d3f372c9dbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a254f427772a1fe7a2480a8302af8f8b8" id="r_a254f427772a1fe7a2480a8302af8f8b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">HASH_BLOOM_MAKE</a>(tbl)</td></tr>
<tr class="separator:a254f427772a1fe7a2480a8302af8f8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6847ad938fc26bfd0726d7f159efd0a" id="r_ad6847ad938fc26bfd0726d7f159efd0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a">HASH_BLOOM_FREE</a>(tbl)</td></tr>
<tr class="separator:ad6847ad938fc26bfd0726d7f159efd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaad947212056cd8bfe3d660265fb2db" id="r_acaad947212056cd8bfe3d660265fb2db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">HASH_BLOOM_ADD</a>(tbl,  hashv)</td></tr>
<tr class="separator:acaad947212056cd8bfe3d660265fb2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06bfbf880899d54da35487d0d39c1009" id="r_a06bfbf880899d54da35487d0d39c1009"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a>(tbl,  hashv)&#160;&#160;&#160;(1)</td></tr>
<tr class="separator:a06bfbf880899d54da35487d0d39c1009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f88a18c0837c77f40926074e7811db" id="r_a81f88a18c0837c77f40926074e7811db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a81f88a18c0837c77f40926074e7811db">HASH_BLOOM_BYTELEN</a>&#160;&#160;&#160;0U</td></tr>
<tr class="separator:a81f88a18c0837c77f40926074e7811db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeba971430f623b6334f565d9c7ec9de5" id="r_aeba971430f623b6334f565d9c7ec9de5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a>(hh,  head)</td></tr>
<tr class="separator:aeba971430f623b6334f565d9c7ec9de5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0104b44f5a911bfda7fd9f939e1594f" id="r_aa0104b44f5a911bfda7fd9f939e1594f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa0104b44f5a911bfda7fd9f939e1594f">HASH_REPLACE_BYHASHVALUE_INORDER</a>(hh,  head,  fieldname,  keylen_in,  hashval,  add,  replaced,  cmpfcn)</td></tr>
<tr class="separator:aa0104b44f5a911bfda7fd9f939e1594f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7fc2175a455ed8e8351737b4f8b2842" id="r_ab7fc2175a455ed8e8351737b4f8b2842"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ab7fc2175a455ed8e8351737b4f8b2842">HASH_REPLACE_BYHASHVALUE</a>(hh,  head,  fieldname,  keylen_in,  hashval,  add,  replaced)</td></tr>
<tr class="separator:ab7fc2175a455ed8e8351737b4f8b2842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9897aa8b1ace582e7bbdef05f21cbc54" id="r_a9897aa8b1ace582e7bbdef05f21cbc54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,  head,  fieldname,  keylen_in,  add,  replaced)</td></tr>
<tr class="separator:a9897aa8b1ace582e7bbdef05f21cbc54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d7a872d8855c9b8bf55d62e8eb0430" id="r_aa6d7a872d8855c9b8bf55d62e8eb0430"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa6d7a872d8855c9b8bf55d62e8eb0430">HASH_REPLACE_INORDER</a>(hh,  head,  fieldname,  keylen_in,  add,  replaced,  cmpfcn)</td></tr>
<tr class="separator:aa6d7a872d8855c9b8bf55d62e8eb0430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeec8f4c804ae5b87ebded933252804fd" id="r_aeec8f4c804ae5b87ebded933252804fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aeec8f4c804ae5b87ebded933252804fd">HASH_APPEND_LIST</a>(hh,  head,  add)</td></tr>
<tr class="separator:aeec8f4c804ae5b87ebded933252804fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa41008b04fa96e7597307145ac2e13d7" id="r_aa41008b04fa96e7597307145ac2e13d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa41008b04fa96e7597307145ac2e13d7">HASH_AKBI_INNER_LOOP</a>(hh,  head,  add,  cmpfcn)</td></tr>
<tr class="separator:aa41008b04fa96e7597307145ac2e13d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae1fa76ff12cbf5328bcf4a2375d055f" id="r_aae1fa76ff12cbf5328bcf4a2375d055f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aae1fa76ff12cbf5328bcf4a2375d055f">HASH_ADD_KEYPTR_BYHASHVALUE_INORDER</a>(hh,  head,  keyptr,  keylen_in,  hashval,  add,  cmpfcn)</td></tr>
<tr class="separator:aae1fa76ff12cbf5328bcf4a2375d055f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a5f675b8bbeaff0a25de5f91330eae8" id="r_a5a5f675b8bbeaff0a25de5f91330eae8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a5a5f675b8bbeaff0a25de5f91330eae8">HASH_ADD_KEYPTR_INORDER</a>(hh,  head,  keyptr,  keylen_in,  add,  cmpfcn)</td></tr>
<tr class="separator:a5a5f675b8bbeaff0a25de5f91330eae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7caae291b965a3f618661927481bf960" id="r_a7caae291b965a3f618661927481bf960"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7caae291b965a3f618661927481bf960">HASH_ADD_BYHASHVALUE_INORDER</a>(hh,  head,  fieldname,  keylen_in,  hashval,  add,  cmpfcn)&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#aae1fa76ff12cbf5328bcf4a2375d055f">HASH_ADD_KEYPTR_BYHASHVALUE_INORDER</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, add, cmpfcn)</td></tr>
<tr class="separator:a7caae291b965a3f618661927481bf960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1befde1b63e6bc0cb4d6b34cb863eebe" id="r_a1befde1b63e6bc0cb4d6b34cb863eebe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a1befde1b63e6bc0cb4d6b34cb863eebe">HASH_ADD_INORDER</a>(hh,  head,  fieldname,  keylen_in,  add,  cmpfcn)&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#a5a5f675b8bbeaff0a25de5f91330eae8">HASH_ADD_KEYPTR_INORDER</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, add, cmpfcn)</td></tr>
<tr class="separator:a1befde1b63e6bc0cb4d6b34cb863eebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e4d9dcfb23a6616c6439aa0d4a3f4d" id="r_aa0e4d9dcfb23a6616c6439aa0d4a3f4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa0e4d9dcfb23a6616c6439aa0d4a3f4d">HASH_ADD_KEYPTR_BYHASHVALUE</a>(hh,  head,  keyptr,  keylen_in,  hashval,  add)</td></tr>
<tr class="separator:aa0e4d9dcfb23a6616c6439aa0d4a3f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b7468360b5c788762cdb2ccf9cd4d26" id="r_a0b7468360b5c788762cdb2ccf9cd4d26"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh,  head,  keyptr,  keylen_in,  add)</td></tr>
<tr class="separator:a0b7468360b5c788762cdb2ccf9cd4d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a0dfca975d8b5ae83d9c307c8d6305" id="r_a34a0dfca975d8b5ae83d9c307c8d6305"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a34a0dfca975d8b5ae83d9c307c8d6305">HASH_ADD_BYHASHVALUE</a>(hh,  head,  fieldname,  keylen_in,  hashval,  add)&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#aa0e4d9dcfb23a6616c6439aa0d4a3f4d">HASH_ADD_KEYPTR_BYHASHVALUE</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, add)</td></tr>
<tr class="separator:a34a0dfca975d8b5ae83d9c307c8d6305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf01358e257c8d838eb5e4b189f0c399" id="r_aaf01358e257c8d838eb5e4b189f0c399"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,  head,  fieldname,  keylen_in,  add)&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, add)</td></tr>
<tr class="separator:aaf01358e257c8d838eb5e4b189f0c399"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d7691544128a6ef265f3e4fa5ed3113" id="r_a4d7691544128a6ef265f3e4fa5ed3113"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113">HASH_TO_BKT</a>(hashv,  num_bkts,  bkt)</td></tr>
<tr class="separator:a4d7691544128a6ef265f3e4fa5ed3113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f83117e1108d63844a58d2d79c3b980" id="r_a3f83117e1108d63844a58d2d79c3b980"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,  head,  delptr)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#acfd98e13ba4bbdd68a476cd8dbaaa03c">HASH_DELETE_HH</a>(hh, head, &amp;(delptr)-&gt;hh)</td></tr>
<tr class="separator:a3f83117e1108d63844a58d2d79c3b980"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfd98e13ba4bbdd68a476cd8dbaaa03c" id="r_acfd98e13ba4bbdd68a476cd8dbaaa03c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acfd98e13ba4bbdd68a476cd8dbaaa03c">HASH_DELETE_HH</a>(hh,  head,  delptrhh)</td></tr>
<tr class="separator:acfd98e13ba4bbdd68a476cd8dbaaa03c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214529083adfab2fa8cd402d2eeb0a84" id="r_a214529083adfab2fa8cd402d2eeb0a84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84">HASH_FIND_STR</a>(head,  findstr,  out)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findstr,(unsigned)<a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(findstr),out)</td></tr>
<tr class="separator:a214529083adfab2fa8cd402d2eeb0a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9724951736f3985f74df17638c8a7885" id="r_a9724951736f3985f74df17638c8a7885"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a9724951736f3985f74df17638c8a7885">HASH_ADD_STR</a>(head,  strfield,  add)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,strfield[0],(unsigned)<a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(add-&gt;strfield),add)</td></tr>
<tr class="separator:a9724951736f3985f74df17638c8a7885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a069b31f4fbc11094d8d3d5e3b1a641db" id="r_a069b31f4fbc11094d8d3d5e3b1a641db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a069b31f4fbc11094d8d3d5e3b1a641db">HASH_REPLACE_STR</a>(head,  strfield,  add,  replaced)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,head,strfield[0],(unsigned)<a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(add-&gt;strfield),add,replaced)</td></tr>
<tr class="separator:a069b31f4fbc11094d8d3d5e3b1a641db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadcb19b940348f3141bd51505ede0142" id="r_aadcb19b940348f3141bd51505ede0142"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aadcb19b940348f3141bd51505ede0142">HASH_FIND_INT</a>(head,  findint,  out)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findint,sizeof(int),out)</td></tr>
<tr class="separator:aadcb19b940348f3141bd51505ede0142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf85835471af894e354efb7e346698f3" id="r_acf85835471af894e354efb7e346698f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acf85835471af894e354efb7e346698f3">HASH_ADD_INT</a>(head,  intfield,  add)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,intfield,sizeof(int),add)</td></tr>
<tr class="separator:acf85835471af894e354efb7e346698f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43124846a2747f48f45bf9f16631a6da" id="r_a43124846a2747f48f45bf9f16631a6da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a43124846a2747f48f45bf9f16631a6da">HASH_REPLACE_INT</a>(head,  intfield,  add,  replaced)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,head,intfield,sizeof(int),add,replaced)</td></tr>
<tr class="separator:a43124846a2747f48f45bf9f16631a6da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a887f8e31952034becac0cf446f6c3" id="r_a26a887f8e31952034becac0cf446f6c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a26a887f8e31952034becac0cf446f6c3">HASH_FIND_PTR</a>(head,  findptr,  out)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findptr,sizeof(void *),out)</td></tr>
<tr class="separator:a26a887f8e31952034becac0cf446f6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad1f84ef1ba9df99fa2ada38cb61823" id="r_a2ad1f84ef1ba9df99fa2ada38cb61823"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823">HASH_ADD_PTR</a>(head,  ptrfield,  add)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,ptrfield,sizeof(void *),add)</td></tr>
<tr class="separator:a2ad1f84ef1ba9df99fa2ada38cb61823"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13bcd1176a34c0a924fbf187c897bf68" id="r_a13bcd1176a34c0a924fbf187c897bf68"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a13bcd1176a34c0a924fbf187c897bf68">HASH_REPLACE_PTR</a>(head,  ptrfield,  add,  replaced)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,head,ptrfield,sizeof(void *),add,replaced)</td></tr>
<tr class="separator:a13bcd1176a34c0a924fbf187c897bf68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48b7ed374602dcb236501aa23a971f05" id="r_a48b7ed374602dcb236501aa23a971f05"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a48b7ed374602dcb236501aa23a971f05">HASH_DEL</a>(head,  delptr)&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td></tr>
<tr class="separator:a48b7ed374602dcb236501aa23a971f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed67af67bb06c4bc02976899b4da853" id="r_a1ed67af67bb06c4bc02976899b4da853"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a1ed67af67bb06c4bc02976899b4da853">HASH_FSCK</a>(hh,  head,  where)</td></tr>
<tr class="separator:a1ed67af67bb06c4bc02976899b4da853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44f9d46e2cc79652492e5dd3e6c40a15" id="r_a44f9d46e2cc79652492e5dd3e6c40a15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">HASH_EMIT_KEY</a>(hh,  head,  keyptr,  fieldlen)</td></tr>
<tr class="separator:a44f9d46e2cc79652492e5dd3e6c40a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3356419b386c379116393700a751d3" id="r_abd3356419b386c379116393700a751d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a724ff23efd254654ac087ed60233c465">HASH_JEN</a></td></tr>
<tr class="separator:abd3356419b386c379116393700a751d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb1644fa1d057a1c124c7548b9146b3" id="r_a7fb1644fa1d057a1c124c7548b9146b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7fb1644fa1d057a1c124c7548b9146b3">HASH_BER</a>(key,  keylen,  hashv)</td></tr>
<tr class="separator:a7fb1644fa1d057a1c124c7548b9146b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8cf38dbd44a475eb0fa4cdb9988e13a" id="r_ae8cf38dbd44a475eb0fa4cdb9988e13a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ae8cf38dbd44a475eb0fa4cdb9988e13a">HASH_SAX</a>(key,  keylen,  hashv)</td></tr>
<tr class="separator:ae8cf38dbd44a475eb0fa4cdb9988e13a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65c61fa2c45a7d0cb918407d725e94bc" id="r_a65c61fa2c45a7d0cb918407d725e94bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a65c61fa2c45a7d0cb918407d725e94bc">HASH_FNV</a>(key,  keylen,  hashv)</td></tr>
<tr class="separator:a65c61fa2c45a7d0cb918407d725e94bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c77754346c75bfafd872d2d49c6dc7" id="r_a22c77754346c75bfafd872d2d49c6dc7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a22c77754346c75bfafd872d2d49c6dc7">HASH_OAT</a>(key,  keylen,  hashv)</td></tr>
<tr class="separator:a22c77754346c75bfafd872d2d49c6dc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d37144e54d2bd49eb88fbfd04c59dc5" id="r_a6d37144e54d2bd49eb88fbfd04c59dc5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5">HASH_JEN_MIX</a>(a,  b,  c)</td></tr>
<tr class="separator:a6d37144e54d2bd49eb88fbfd04c59dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724ff23efd254654ac087ed60233c465" id="r_a724ff23efd254654ac087ed60233c465"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a724ff23efd254654ac087ed60233c465">HASH_JEN</a>(key,  keylen,  hashv)</td></tr>
<tr class="separator:a724ff23efd254654ac087ed60233c465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7d71657be8975a51684e41029b7964" id="r_abc7d71657be8975a51684e41029b7964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abc7d71657be8975a51684e41029b7964">get16bits</a>(d)</td></tr>
<tr class="separator:abc7d71657be8975a51684e41029b7964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91480d6a21f082d49d20faeee0295cbb" id="r_a91480d6a21f082d49d20faeee0295cbb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a91480d6a21f082d49d20faeee0295cbb">HASH_SFH</a>(key,  keylen,  hashv)</td></tr>
<tr class="separator:a91480d6a21f082d49d20faeee0295cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54951c7b798e8da9931d2b607e97b619" id="r_a54951c7b798e8da9931d2b607e97b619"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a54951c7b798e8da9931d2b607e97b619">HASH_FIND_IN_BKT</a>(tbl,  hh,  head,  keyptr,  keylen_in,  hashval,  out)</td></tr>
<tr class="separator:a54951c7b798e8da9931d2b607e97b619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e11adee321f45c5cb31ff2d6eb0348" id="r_a78e11adee321f45c5cb31ff2d6eb0348"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">HASH_ADD_TO_BKT</a>(head,  addhh)</td></tr>
<tr class="separator:a78e11adee321f45c5cb31ff2d6eb0348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1df38274f20925d2cb309f7a4c7a165e" id="r_a1df38274f20925d2cb309f7a4c7a165e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a1df38274f20925d2cb309f7a4c7a165e">HASH_DEL_IN_BKT</a>(head,  delhh)</td></tr>
<tr class="separator:a1df38274f20925d2cb309f7a4c7a165e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6439fd6271474e61b1840fbf83132f03" id="r_a6439fd6271474e61b1840fbf83132f03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">HASH_EXPAND_BUCKETS</a>(tbl)</td></tr>
<tr class="separator:a6439fd6271474e61b1840fbf83132f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88d2ab40956878caacd02c214f7e8f15" id="r_a88d2ab40956878caacd02c214f7e8f15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15">HASH_SORT</a>(head,  cmpfcn)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,head,cmpfcn)</td></tr>
<tr class="separator:a88d2ab40956878caacd02c214f7e8f15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a388b4071dcff005154f431d3d3025fbd" id="r_a388b4071dcff005154f431d3d3025fbd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,  head,  cmpfcn)</td></tr>
<tr class="separator:a388b4071dcff005154f431d3d3025fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad190366f7a476ece79bd628240a5fc93" id="r_ad190366f7a476ece79bd628240a5fc93"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad190366f7a476ece79bd628240a5fc93">HASH_SELECT</a>(hh_dst,  dst,  hh_src,  src,  cond)</td></tr>
<tr class="separator:ad190366f7a476ece79bd628240a5fc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0512b3f7a824275579ec82643ef2cc23" id="r_a0512b3f7a824275579ec82643ef2cc23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23">HASH_CLEAR</a>(hh,  head)</td></tr>
<tr class="separator:a0512b3f7a824275579ec82643ef2cc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab35e223d7385dfbe3c42758f502f4c04" id="r_ab35e223d7385dfbe3c42758f502f4c04"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ab35e223d7385dfbe3c42758f502f4c04">HASH_OVERHEAD</a>(hh,  head)</td></tr>
<tr class="separator:ab35e223d7385dfbe3c42758f502f4c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d524042f1fcb976d8bccae9e4cc63d6" id="r_a4d524042f1fcb976d8bccae9e4cc63d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">HASH_ITER</a>(hh,  head,  el,  tmp)</td></tr>
<tr class="separator:a4d524042f1fcb976d8bccae9e4cc63d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3edf55a3ee4da1a0e1b477c314342f" id="r_a7d3edf55a3ee4da1a0e1b477c314342f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f">HASH_COUNT</a>(head)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,head)</td></tr>
<tr class="separator:a7d3edf55a3ee4da1a0e1b477c314342f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ea9e661cd8c35eff1fdcd5731127edd" id="r_a6ea9e661cd8c35eff1fdcd5731127edd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,  head)&#160;&#160;&#160;((head != NULL)?((head)-&gt;hh.tbl-&gt;num_items):0U)</td></tr>
<tr class="separator:a6ea9e661cd8c35eff1fdcd5731127edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7a46b9b92a9c73e4f9321e8e6b6bb2" id="r_a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a>&#160;&#160;&#160;0xa0111fe1u</td></tr>
<tr class="separator:a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18a33f4269f05c1e81ce54edbc0ffca6" id="r_a18a33f4269f05c1e81ce54edbc0ffca6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6">HASH_BLOOM_SIGNATURE</a>&#160;&#160;&#160;0xb12220f2u</td></tr>
<tr class="separator:a18a33f4269f05c1e81ce54edbc0ffca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a435d1572bf3f880d55459d9805097f62" id="r_a435d1572bf3f880d55459d9805097f62"><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></td></tr>
<tr class="separator:a435d1572bf3f880d55459d9805097f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba7bc1797add20fe3efdf37ced1182c5" id="r_aba7bc1797add20fe3efdf37ced1182c5"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></td></tr>
<tr class="separator:aba7bc1797add20fe3efdf37ced1182c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3775136bedd7fc8db3ad7c1ad6a7218e" id="r_a3775136bedd7fc8db3ad7c1ad6a7218e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3775136bedd7fc8db3ad7c1ad6a7218e">UT_hash_bucket</a></td></tr>
<tr class="separator:a3775136bedd7fc8db3ad7c1ad6a7218e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade349c45717e328f0337b6fe5a0658bf" id="r_ade349c45717e328f0337b6fe5a0658bf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ade349c45717e328f0337b6fe5a0658bf">UT_hash_table</a></td></tr>
<tr class="separator:ade349c45717e328f0337b6fe5a0658bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a817624f072ea116d638b237d518d6f6a" id="r_a817624f072ea116d638b237d518d6f6a"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a817624f072ea116d638b237d518d6f6a">UT_hash_handle</a></td></tr>
<tr class="separator:a817624f072ea116d638b237d518d6f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a716ba290563c2d955cb0c90d85874073" name="a716ba290563c2d955cb0c90d85874073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a716ba290563c2d955cb0c90d85874073">&#9670;&#160;</a></span>DECLTYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLTYPE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;(__typeof(x))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00047">47</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a3c736f2f2dd643f2987b2bc323e269ba" name="a3c736f2f2dd643f2987b2bc323e269ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c736f2f2dd643f2987b2bc323e269ba">&#9670;&#160;</a></span>DECLTYPE_ASSIGN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLTYPE_ASSIGN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (dst) = <a class="code hl_define" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(dst)(src);                                                    \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="authash_8h_html_a716ba290563c2d955cb0c90d85874073"><div class="ttname"><a href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a></div><div class="ttdeci">#define DECLTYPE(x)</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00047">uthash.h:47</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00059">59</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a568e95048979b8b3e4ea1567fd91c186" name="a568e95048979b8b3e4ea1567fd91c186"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a568e95048979b8b3e4ea1567fd91c186">&#9670;&#160;</a></span>ELMT_FROM_HH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ELMT_FROM_HH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hhp&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00114">114</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="abc7d71657be8975a51684e41029b7964" name="abc7d71657be8975a51684e41029b7964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc7d71657be8975a51684e41029b7964">&#9670;&#160;</a></span>get16bits</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define get16bits</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">                       ((((<a class="code hl_typedef" href="uthash_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>)(((<span class="keyword">const</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)(d))[1])) &lt;&lt; 8)             \</div>
<div class="line">                       +(<a class="code hl_typedef" href="uthash_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>)(((<span class="keyword">const</span> <a class="code hl_typedef" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *)(d))[0]) )</div>
<div class="ttc" id="authash_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="uthash_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00078">uthash.h:78</a></div></div>
<div class="ttc" id="authash_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00079">uthash.h:79</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00613">613</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aaf01358e257c8d838eb5e4b189f0c399" name="aaf01358e257c8d838eb5e4b189f0c399"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf01358e257c8d838eb5e4b189f0c399">&#9670;&#160;</a></span>HASH_ADD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00348">348</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a34a0dfca975d8b5ae83d9c307c8d6305" name="a34a0dfca975d8b5ae83d9c307c8d6305"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a0dfca975d8b5ae83d9c307c8d6305">&#9670;&#160;</a></span>HASH_ADD_BYHASHVALUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_BYHASHVALUE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#aa0e4d9dcfb23a6616c6439aa0d4a3f4d">HASH_ADD_KEYPTR_BYHASHVALUE</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00345">345</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a7caae291b965a3f618661927481bf960" name="a7caae291b965a3f618661927481bf960"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7caae291b965a3f618661927481bf960">&#9670;&#160;</a></span>HASH_ADD_BYHASHVALUE_INORDER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_BYHASHVALUE_INORDER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#aae1fa76ff12cbf5328bcf4a2375d055f">HASH_ADD_KEYPTR_BYHASHVALUE_INORDER</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, add, cmpfcn)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00309">309</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a1befde1b63e6bc0cb4d6b34cb863eebe" name="a1befde1b63e6bc0cb4d6b34cb863eebe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1befde1b63e6bc0cb4d6b34cb863eebe">&#9670;&#160;</a></span>HASH_ADD_INORDER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_INORDER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;  <a class="el" href="uthash_8h.html#a5a5f675b8bbeaff0a25de5f91330eae8">HASH_ADD_KEYPTR_INORDER</a>(hh, head, &amp;((add)-&gt;fieldname), keylen_in, add, cmpfcn)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00312">312</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="acf85835471af894e354efb7e346698f3" name="acf85835471af894e354efb7e346698f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf85835471af894e354efb7e346698f3">&#9670;&#160;</a></span>HASH_ADD_INT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_INT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">intfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,intfield,sizeof(int),add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00410">410</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a0b7468360b5c788762cdb2ccf9cd4d26" name="a0b7468360b5c788762cdb2ccf9cd4d26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b7468360b5c788762cdb2ccf9cd4d26">&#9670;&#160;</a></span>HASH_ADD_KEYPTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_KEYPTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _ha_hashv;                                                            \</div>
<div class="line">  HASH_VALUE(keyptr, keylen_in, _ha_hashv);                                      \</div>
<div class="line">  HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, _ha_hashv, add);      \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00338">338</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aa0e4d9dcfb23a6616c6439aa0d4a3f4d" name="aa0e4d9dcfb23a6616c6439aa0d4a3f4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e4d9dcfb23a6616c6439aa0d4a3f4d">&#9670;&#160;</a></span>HASH_ADD_KEYPTR_BYHASHVALUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_KEYPTR_BYHASHVALUE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _ha_bkt;                                                              \</div>
<div class="line">  (add)-&gt;hh.hashv = (hashval);                                                   \</div>
<div class="line">  (add)-&gt;hh.key = (<span class="keyword">const</span> <span class="keywordtype">void</span> *) (keyptr);                                       \</div>
<div class="line">  (add)-&gt;hh.keylen = (<span class="keywordtype">unsigned</span>) (keylen_in);                                     \</div>
<div class="line">  if (!(head)) {                                                                 \</div>
<div class="line">    (add)-&gt;hh.next = NULL;                                                       \</div>
<div class="line">    (add)-&gt;hh.prev = NULL;                                                       \</div>
<div class="line">    (head) = (add);                                                              \</div>
<div class="line">    HASH_MAKE_TABLE(hh, head);                                                   \</div>
<div class="line">  } <span class="keywordflow">else</span> {                                                                       \</div>
<div class="line">    (add)-&gt;hh.tbl = (head)-&gt;hh.tbl;                                              \</div>
<div class="line">    HASH_APPEND_LIST(hh, head, add);                                             \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;num_items++;                                                   \</div>
<div class="line">  HASH_TO_BKT(hashval, (head)-&gt;hh.tbl-&gt;num_buckets, _ha_bkt);                    \</div>
<div class="line">  HASH_ADD_TO_BKT((head)-&gt;hh.tbl-&gt;buckets[_ha_bkt], &amp;(add)-&gt;hh);                 \</div>
<div class="line">  HASH_BLOOM_ADD((head)-&gt;hh.tbl, hashval);                                       \</div>
<div class="line">  HASH_EMIT_KEY(hh, head, keyptr, keylen_in);                                    \</div>
<div class="line">  HASH_FSCK(hh, head, <span class="stringliteral">&quot;HASH_ADD_KEYPTR_BYHASHVALUE&quot;</span>);                            \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00315">315</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aae1fa76ff12cbf5328bcf4a2375d055f" name="aae1fa76ff12cbf5328bcf4a2375d055f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae1fa76ff12cbf5328bcf4a2375d055f">&#9670;&#160;</a></span>HASH_ADD_KEYPTR_BYHASHVALUE_INORDER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_KEYPTR_BYHASHVALUE_INORDER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00267">267</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a5a5f675b8bbeaff0a25de5f91330eae8" name="a5a5f675b8bbeaff0a25de5f91330eae8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a5f675b8bbeaff0a25de5f91330eae8">&#9670;&#160;</a></span>HASH_ADD_KEYPTR_INORDER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_KEYPTR_INORDER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _hs_hashv;                                                            \</div>
<div class="line">  HASH_VALUE(keyptr, keylen_in, _hs_hashv);                                      \</div>
<div class="line">  HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, keyptr, keylen_in, _hs_hashv, add, cmpfcn); \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00302">302</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a2ad1f84ef1ba9df99fa2ada38cb61823" name="a2ad1f84ef1ba9df99fa2ada38cb61823"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ad1f84ef1ba9df99fa2ada38cb61823">&#9670;&#160;</a></span>HASH_ADD_PTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_PTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptrfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,ptrfield,sizeof(void *),add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00416">416</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a9724951736f3985f74df17638c8a7885" name="a9724951736f3985f74df17638c8a7885"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9724951736f3985f74df17638c8a7885">&#9670;&#160;</a></span>HASH_ADD_STR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_STR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">strfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,strfield[0],(unsigned)<a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(add-&gt;strfield),add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00404">404</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a78e11adee321f45c5cb31ff2d6eb0348" name="a78e11adee321f45c5cb31ff2d6eb0348"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78e11adee321f45c5cb31ff2d6eb0348">&#9670;&#160;</a></span>HASH_ADD_TO_BKT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_TO_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addhh&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a> *_ha_head = &amp;(head);                                            \</div>
<div class="line">  _ha_head-&gt;<a class="code hl_variable" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">count</a>++;                                                             \</div>
<div class="line">  (addhh)-&gt;hh_next = _ha_head-&gt;<a class="code hl_variable" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">hh_head</a>;                                          \</div>
<div class="line">  (addhh)-&gt;hh_prev = NULL;                                                       \</div>
<div class="line">  if (_ha_head-&gt;hh_head != NULL) {                                               \</div>
<div class="line">    _ha_head-&gt;hh_head-&gt;hh_prev = (addhh);                                        \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  _ha_head-&gt;hh_head = (addhh);                                                   \</div>
<div class="line">  if ((_ha_head-&gt;count &gt;= ((_ha_head-&gt;expand_mult + 1U) * <a class="code hl_define" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a>)) \</div>
<div class="line">      &amp;&amp; !(addhh)-&gt;tbl-&gt;noexpand) {                                              \</div>
<div class="line">    HASH_EXPAND_BUCKETS((addhh)-&gt;tbl);                                           \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="astructUT__hash__bucket_html"><div class="ttname"><a href="structUT__hash__bucket.html">UT_hash_bucket</a></div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01040">uthash.h:1040</a></div></div>
<div class="ttc" id="astructUT__hash__bucket_html_a5d20cc12bdcbde360398910eefb45634"><div class="ttname"><a href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">UT_hash_bucket::count</a></div><div class="ttdeci">unsigned count</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01042">uthash.h:1042</a></div></div>
<div class="ttc" id="astructUT__hash__bucket_html_a785a785132212378bb28fb4341cfecaf"><div class="ttname"><a href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">UT_hash_bucket::hh_head</a></div><div class="ttdeci">struct UT_hash_handle * hh_head</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01041">uthash.h:1041</a></div></div>
<div class="ttc" id="authash_8h_html_a8ae3e6473261f6c4b78c030c94f5d68f"><div class="ttname"><a href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a></div><div class="ttdeci">#define HASH_BKT_CAPACITY_THRESH</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00111">uthash.h:111</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00763">763</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aa41008b04fa96e7597307145ac2e13d7" name="aa41008b04fa96e7597307145ac2e13d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa41008b04fa96e7597307145ac2e13d7">&#9670;&#160;</a></span>HASH_AKBI_INNER_LOOP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_AKBI_INNER_LOOP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordflow">do</span> {                                                                           \</div>
<div class="line">    if (cmpfcn(<a class="code hl_define" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(head)(_hs_iter), add) &gt; 0) {                             \</div>
<div class="line">      <span class="keywordflow">break</span>;                                                                     \</div>
<div class="line">    }                                                                            \</div>
<div class="line">  } <span class="keywordflow">while</span> ((_hs_iter = <a class="code hl_define" href="uthash_8h.html#a46261e43585c404cccf8ab0f5c6d271e">HH_FROM_ELMT</a>((head)-&gt;hh.tbl, _hs_iter)-&gt;next));           \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="authash_8h_html_a46261e43585c404cccf8ab0f5c6d271e"><div class="ttname"><a href="uthash_8h.html#a46261e43585c404cccf8ab0f5c6d271e">HH_FROM_ELMT</a></div><div class="ttdeci">#define HH_FROM_ELMT(tbl, elp)</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00116">uthash.h:116</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00242">242</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aeec8f4c804ae5b87ebded933252804fd" name="aeec8f4c804ae5b87ebded933252804fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeec8f4c804ae5b87ebded933252804fd">&#9670;&#160;</a></span>HASH_APPEND_LIST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_APPEND_LIST</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (add)-&gt;hh.next = NULL;                                                         \</div>
<div class="line">  (add)-&gt;hh.prev = <a class="code hl_define" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>((head)-&gt;hh.tbl, (head)-&gt;hh.tbl-&gt;tail);           \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;tail-&gt;next = (add);                                            \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;tail = &amp;((add)-&gt;hh);                                           \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="authash_8h_html_a568e95048979b8b3e4ea1567fd91c186"><div class="ttname"><a href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a></div><div class="ttdeci">#define ELMT_FROM_HH(tbl, hhp)</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00114">uthash.h:114</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00234">234</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a7fb1644fa1d057a1c124c7548b9146b3" name="a7fb1644fa1d057a1c124c7548b9146b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fb1644fa1d057a1c124c7548b9146b3">&#9670;&#160;</a></span>HASH_BER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _hb_keylen = (unsigned)keylen;                                        \</div>
<div class="line">  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *_hb_key = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)(key);                    \</div>
<div class="line">  (hashv) = 0;                                                                   \</div>
<div class="line">  while (_hb_keylen-- != 0U) {                                                   \</div>
<div class="line">    (hashv) = (((hashv) &lt;&lt; 5) + (hashv)) + *_hb_key++;                           \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00502">502</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a8ae3e6473261f6c4b78c030c94f5d68f" name="a8ae3e6473261f6c4b78c030c94f5d68f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ae3e6473261f6c4b78c030c94f5d68f">&#9670;&#160;</a></span>HASH_BKT_CAPACITY_THRESH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BKT_CAPACITY_THRESH&#160;&#160;&#160;10U     /* expand when bucket count reaches */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00111">111</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="acaad947212056cd8bfe3d660265fb2db" name="acaad947212056cd8bfe3d660265fb2db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaad947212056cd8bfe3d660265fb2db">&#9670;&#160;</a></span>HASH_BLOOM_ADD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_ADD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00173">173</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a81f88a18c0837c77f40926074e7811db" name="a81f88a18c0837c77f40926074e7811db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81f88a18c0837c77f40926074e7811db">&#9670;&#160;</a></span>HASH_BLOOM_BYTELEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_BYTELEN&#160;&#160;&#160;0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00175">175</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="ad6847ad938fc26bfd0726d7f159efd0a" name="ad6847ad938fc26bfd0726d7f159efd0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6847ad938fc26bfd0726d7f159efd0a">&#9670;&#160;</a></span>HASH_BLOOM_FREE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_FREE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00172">172</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a254f427772a1fe7a2480a8302af8f8b8" name="a254f427772a1fe7a2480a8302af8f8b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a254f427772a1fe7a2480a8302af8f8b8">&#9670;&#160;</a></span>HASH_BLOOM_MAKE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_MAKE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00171">171</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a18a33f4269f05c1e81ce54edbc0ffca6" name="a18a33f4269f05c1e81ce54edbc0ffca6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18a33f4269f05c1e81ce54edbc0ffca6">&#9670;&#160;</a></span>HASH_BLOOM_SIGNATURE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_SIGNATURE&#160;&#160;&#160;0xb12220f2u</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01062">1062</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a06bfbf880899d54da35487d0d39c1009" name="a06bfbf880899d54da35487d0d39c1009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06bfbf880899d54da35487d0d39c1009">&#9670;&#160;</a></span>HASH_BLOOM_TEST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_TEST</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00174">174</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a0512b3f7a824275579ec82643ef2cc23" name="a0512b3f7a824275579ec82643ef2cc23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0512b3f7a824275579ec82643ef2cc23">&#9670;&#160;</a></span>HASH_CLEAR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_CLEAR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  if ((head) != NULL) {                                                          \</div>
<div class="line">    HASH_BLOOM_FREE((head)-&gt;hh.tbl);                                             \</div>
<div class="line">    uthash_free((head)-&gt;hh.tbl-&gt;buckets,                                         \</div>
<div class="line">                (head)-&gt;hh.tbl-&gt;num_buckets*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a>));      \</div>
<div class="line">    uthash_free((head)-&gt;hh.tbl, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__table.html">UT_hash_table</a>));                          \</div>
<div class="line">    (head) = NULL;                                                               \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="astructUT__hash__table_html"><div class="ttname"><a href="structUT__hash__table.html">UT_hash_table</a></div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01064">uthash.h:1064</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01008">1008</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a6ea9e661cd8c35eff1fdcd5731127edd" name="a6ea9e661cd8c35eff1fdcd5731127edd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ea9e661cd8c35eff1fdcd5731127edd">&#9670;&#160;</a></span>HASH_CNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_CNT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((head != NULL)?((head)-&gt;hh.tbl-&gt;num_items):0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01038">1038</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a7d3edf55a3ee4da1a0e1b477c314342f" name="a7d3edf55a3ee4da1a0e1b477c314342f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d3edf55a3ee4da1a0e1b477c314342f">&#9670;&#160;</a></span>HASH_COUNT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_COUNT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,head)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01037">1037</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a48b7ed374602dcb236501aa23a971f05" name="a48b7ed374602dcb236501aa23a971f05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48b7ed374602dcb236501aa23a971f05">&#9670;&#160;</a></span>HASH_DEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DEL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">delptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00420">420</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a1df38274f20925d2cb309f7a4c7a165e" name="a1df38274f20925d2cb309f7a4c7a165e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1df38274f20925d2cb309f7a4c7a165e">&#9670;&#160;</a></span>HASH_DEL_IN_BKT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DEL_IN_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">delhh&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a> *_hd_head = &amp;(head);                                            \</div>
<div class="line">  _hd_head-&gt;<a class="code hl_variable" href="structUT__hash__bucket.html#a5d20cc12bdcbde360398910eefb45634">count</a>--;                                                             \</div>
<div class="line">  if (_hd_head-&gt;<a class="code hl_variable" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">hh_head</a> == (delhh)) {                                            \</div>
<div class="line">    _hd_head-&gt;<a class="code hl_variable" href="structUT__hash__bucket.html#a785a785132212378bb28fb4341cfecaf">hh_head</a> = (delhh)-&gt;hh_next;                                        \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  if ((delhh)-&gt;hh_prev) {                                                        \</div>
<div class="line">    (delhh)-&gt;hh_prev-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a> = (delhh)-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a>;                                \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  if ((delhh)-&gt;hh_next) {                                                        \</div>
<div class="line">    (delhh)-&gt;hh_next-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a> = (delhh)-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a>;                                \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="astructUT__hash__handle_html_a3ec03e34d7975d5c1981c44b324619b2"><div class="ttname"><a href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">UT_hash_handle::hh_prev</a></div><div class="ttdeci">struct UT_hash_handle * hh_prev</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01101">uthash.h:1101</a></div></div>
<div class="ttc" id="astructUT__hash__handle_html_a4f6989385499ba6f594b0f0facd28325"><div class="ttname"><a href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle::hh_next</a></div><div class="ttdeci">struct UT_hash_handle * hh_next</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01102">uthash.h:1102</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00780">780</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a3f83117e1108d63844a58d2d79c3b980" name="a3f83117e1108d63844a58d2d79c3b980"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f83117e1108d63844a58d2d79c3b980">&#9670;&#160;</a></span>HASH_DELETE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DELETE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">delptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#acfd98e13ba4bbdd68a476cd8dbaaa03c">HASH_DELETE_HH</a>(hh, head, &amp;(delptr)-&gt;hh)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00368">368</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="acfd98e13ba4bbdd68a476cd8dbaaa03c" name="acfd98e13ba4bbdd68a476cd8dbaaa03c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfd98e13ba4bbdd68a476cd8dbaaa03c">&#9670;&#160;</a></span>HASH_DELETE_HH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DELETE_HH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">delptrhh&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keyword">struct </span><a class="code hl_struct" href="structUT__hash__handle.html">UT_hash_handle</a> *_hd_hh_del = (delptrhh);                                \</div>
<div class="line">  if ((_hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> == NULL) &amp;&amp; (_hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> == NULL)) {                \</div>
<div class="line">    HASH_BLOOM_FREE((head)-&gt;hh.tbl);                                             \</div>
<div class="line">    uthash_free((head)-&gt;hh.tbl-&gt;buckets,                                         \</div>
<div class="line">                (head)-&gt;hh.tbl-&gt;num_buckets * <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a>));    \</div>
<div class="line">    uthash_free((head)-&gt;hh.tbl, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__table.html">UT_hash_table</a>));                          \</div>
<div class="line">    (head) = NULL;                                                               \</div>
<div class="line">  } <span class="keywordflow">else</span> {                                                                       \</div>
<div class="line">    <span class="keywordtype">unsigned</span> _hd_bkt;                                                            \</div>
<div class="line">    if (_hd_hh_del == (head)-&gt;hh.tbl-&gt;tail) {                                    \</div>
<div class="line">      (head)-&gt;hh.tbl-&gt;tail = <a class="code hl_define" href="uthash_8h.html#a46261e43585c404cccf8ab0f5c6d271e">HH_FROM_ELMT</a>((head)-&gt;hh.tbl, _hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>);     \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    if (_hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a> != NULL) {                                              \</div>
<div class="line">      HH_FROM_ELMT((head)-&gt;hh.tbl, _hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>)-&gt;next = _hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>;   \</div>
<div class="line">    } <span class="keywordflow">else</span> {                                                                     \</div>
<div class="line">      DECLTYPE_ASSIGN(head, _hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>);                                   \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    if (_hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a> != NULL) {                                              \</div>
<div class="line">      HH_FROM_ELMT((head)-&gt;hh.tbl, _hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">next</a>)-&gt;prev = _hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">prev</a>;   \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    HASH_TO_BKT(_hd_hh_del-&gt;<a class="code hl_variable" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>, (head)-&gt;hh.tbl-&gt;num_buckets, _hd_bkt);        \</div>
<div class="line">    HASH_DEL_IN_BKT((head)-&gt;hh.tbl-&gt;buckets[_hd_bkt], _hd_hh_del);               \</div>
<div class="line">    (head)-&gt;hh.tbl-&gt;num_items--;                                                 \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  HASH_FSCK(hh, head, <span class="stringliteral">&quot;HASH_DELETE&quot;</span>);                                            \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="astructUT__hash__handle_html"><div class="ttname"><a href="structUT__hash__handle.html">UT_hash_handle</a></div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01097">uthash.h:1097</a></div></div>
<div class="ttc" id="astructUT__hash__handle_html_a93bc88ffe97f85ea0d9e0056b7118942"><div class="ttname"><a href="structUT__hash__handle.html#a93bc88ffe97f85ea0d9e0056b7118942">UT_hash_handle::next</a></div><div class="ttdeci">void * next</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01100">uthash.h:1100</a></div></div>
<div class="ttc" id="astructUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01105">uthash.h:1105</a></div></div>
<div class="ttc" id="astructUT__hash__handle_html_abaf54a69367933df2d45575f48ca6a58"><div class="ttname"><a href="structUT__hash__handle.html#abaf54a69367933df2d45575f48ca6a58">UT_hash_handle::prev</a></div><div class="ttdeci">void * prev</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01099">uthash.h:1099</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00371">371</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a44f9d46e2cc79652492e5dd3e6c40a15" name="a44f9d46e2cc79652492e5dd3e6c40a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44f9d46e2cc79652492e5dd3e6c40a15">&#9670;&#160;</a></span>HASH_EMIT_KEY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_EMIT_KEY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldlen&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00491">491</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a6439fd6271474e61b1840fbf83132f03" name="a6439fd6271474e61b1840fbf83132f03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6439fd6271474e61b1840fbf83132f03">&#9670;&#160;</a></span>HASH_EXPAND_BUCKETS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_EXPAND_BUCKETS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00824">824</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="abd3356419b386c379116393700a751d3" name="abd3356419b386c379116393700a751d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd3356419b386c379116393700a751d3">&#9670;&#160;</a></span>HASH_FCN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FCN&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a724ff23efd254654ac087ed60233c465">HASH_JEN</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00498">498</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="ad4a1cd39c3044936c0e49d3f372c9dbf" name="ad4a1cd39c3044936c0e49d3f372c9dbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4a1cd39c3044936c0e49d3f372c9dbf">&#9670;&#160;</a></span>HASH_FIND</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _hf_hashv;                                                            \</div>
<div class="line">  HASH_VALUE(keyptr, keylen, _hf_hashv);                                         \</div>
<div class="line">  HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out);               \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00135">135</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="afc2b27fc2a6b13aece881528f45de693" name="afc2b27fc2a6b13aece881528f45de693"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc2b27fc2a6b13aece881528f45de693">&#9670;&#160;</a></span>HASH_FIND_BYHASHVALUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_BYHASHVALUE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (out) = NULL;                                                                  \</div>
<div class="line">  if (head) {                                                                    \</div>
<div class="line">    <span class="keywordtype">unsigned</span> _hf_bkt;                                                            \</div>
<div class="line">    HASH_TO_BKT(hashval, (head)-&gt;hh.tbl-&gt;num_buckets, _hf_bkt);                  \</div>
<div class="line">    if (<a class="code hl_define" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a>((head)-&gt;hh.tbl, hashval) != 0) {                         \</div>
<div class="line">      HASH_FIND_IN_BKT((head)-&gt;hh.tbl, hh, (head)-&gt;hh.tbl-&gt;buckets[ _hf_bkt ], keyptr, keylen, hashval, out); \</div>
<div class="line">    }                                                                            \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="authash_8h_html_a06bfbf880899d54da35487d0d39c1009"><div class="ttname"><a href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a></div><div class="ttdeci">#define HASH_BLOOM_TEST(tbl, hashv)</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00174">uthash.h:174</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00123">123</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a54951c7b798e8da9931d2b607e97b619" name="a54951c7b798e8da9931d2b607e97b619"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54951c7b798e8da9931d2b607e97b619">&#9670;&#160;</a></span>HASH_FIND_IN_BKT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_IN_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  if ((head).hh_head != NULL) {                                                  \</div>
<div class="line">    DECLTYPE_ASSIGN(out, <a class="code hl_define" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl, (head).hh_head));                     \</div>
<div class="line">  } <span class="keywordflow">else</span> {                                                                       \</div>
<div class="line">    (out) = NULL;                                                                \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  while ((out) != NULL) {                                                        \</div>
<div class="line">    if ((out)-&gt;hh.hashv == (hashval) &amp;&amp; (out)-&gt;hh.keylen == (keylen_in)) {       \</div>
<div class="line">      if (<a class="code hl_define" href="uthash_8h.html#a8ca9a884b81d487034b57f87d2f97fa4">uthash_memcmp</a>((out)-&gt;hh.key, keyptr, keylen_in) == 0) {                \</div>
<div class="line">        <span class="keywordflow">break</span>;                                                                   \</div>
<div class="line">      }                                                                          \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    if ((out)-&gt;hh.hh_next != NULL) {                                             \</div>
<div class="line">      DECLTYPE_ASSIGN(out, <a class="code hl_define" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl, (out)-&gt;hh.hh_next));                \</div>
<div class="line">    } <span class="keywordflow">else</span> {                                                                     \</div>
<div class="line">      (out) = NULL;                                                              \</div>
<div class="line">    }                                                                            \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="authash_8h_html_a8ca9a884b81d487034b57f87d2f97fa4"><div class="ttname"><a href="uthash_8h.html#a8ca9a884b81d487034b57f87d2f97fa4">uthash_memcmp</a></div><div class="ttdeci">#define uthash_memcmp(a, b, n)</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00095">uthash.h:95</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00741">741</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aadcb19b940348f3141bd51505ede0142" name="aadcb19b940348f3141bd51505ede0142"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadcb19b940348f3141bd51505ede0142">&#9670;&#160;</a></span>HASH_FIND_INT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_INT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">findint, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findint,sizeof(int),out)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00408">408</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a26a887f8e31952034becac0cf446f6c3" name="a26a887f8e31952034becac0cf446f6c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26a887f8e31952034becac0cf446f6c3">&#9670;&#160;</a></span>HASH_FIND_PTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_PTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">findptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findptr,sizeof(void *),out)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00414">414</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a214529083adfab2fa8cd402d2eeb0a84" name="a214529083adfab2fa8cd402d2eeb0a84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a214529083adfab2fa8cd402d2eeb0a84">&#9670;&#160;</a></span>HASH_FIND_STR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_STR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">findstr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findstr,(unsigned)<a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(findstr),out)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00402">402</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a65c61fa2c45a7d0cb918407d725e94bc" name="a65c61fa2c45a7d0cb918407d725e94bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65c61fa2c45a7d0cb918407d725e94bc">&#9670;&#160;</a></span>HASH_FNV</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FNV</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _fn_i;                                                                \</div>
<div class="line">  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *_hf_key = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)(key);                    \</div>
<div class="line">  (hashv) = 2166136261U;                                                         \</div>
<div class="line">  for (_fn_i=0; _fn_i &lt; keylen; _fn_i++) {                                       \</div>
<div class="line">    hashv = hashv ^ _hf_key[_fn_i];                                              \</div>
<div class="line">    hashv = hashv * 16777619U;                                                   \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00525">525</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a1ed67af67bb06c4bc02976899b4da853" name="a1ed67af67bb06c4bc02976899b4da853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed67af67bb06c4bc02976899b4da853">&#9670;&#160;</a></span>HASH_FSCK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FSCK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">where&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00477">477</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a361cdc5e8d6d8fe5fae6912588ae15d0" name="a361cdc5e8d6d8fe5fae6912588ae15d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a361cdc5e8d6d8fe5fae6912588ae15d0">&#9670;&#160;</a></span>HASH_INITIAL_NUM_BUCKETS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_INITIAL_NUM_BUCKETS&#160;&#160;&#160;32U     /* initial number of buckets        */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00109">109</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a0b39a5cf1d6c05c43bd8530db2ec908c" name="a0b39a5cf1d6c05c43bd8530db2ec908c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b39a5cf1d6c05c43bd8530db2ec908c">&#9670;&#160;</a></span>HASH_INITIAL_NUM_BUCKETS_LOG2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_INITIAL_NUM_BUCKETS_LOG2&#160;&#160;&#160;5U /* lg2 of initial number of buckets */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00110">110</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a4d524042f1fcb976d8bccae9e4cc63d6" name="a4d524042f1fcb976d8bccae9e4cc63d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d524042f1fcb976d8bccae9e4cc63d6">&#9670;&#160;</a></span>HASH_ITER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ITER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">el, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tmp&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">for</span>(((el)=(head)), ((tmp)=<a class="code hl_define" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(el)((head!=NULL)?(head)-&gt;hh.next:NULL));      \</div>
<div class="line">  (el) != NULL; ((el)=(tmp)), ((tmp)=<a class="code hl_define" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(el)((tmp!=NULL)?(tmp)-&gt;hh.next:NULL)))</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01031">1031</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a724ff23efd254654ac087ed60233c465" name="a724ff23efd254654ac087ed60233c465"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a724ff23efd254654ac087ed60233c465">&#9670;&#160;</a></span>HASH_JEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_JEN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00564">564</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a6d37144e54d2bd49eb88fbfd04c59dc5" name="a6d37144e54d2bd49eb88fbfd04c59dc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d37144e54d2bd49eb88fbfd04c59dc5">&#9670;&#160;</a></span>HASH_JEN_MIX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_JEN_MIX</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 13 );                                              \</div>
<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 8 );                                               \</div>
<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 13 );                                              \</div>
<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 12 );                                              \</div>
<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 16 );                                              \</div>
<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 5 );                                               \</div>
<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 3 );                                               \</div>
<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 10 );                                              \</div>
<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 15 );                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00551">551</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aeba971430f623b6334f565d9c7ec9de5" name="aeba971430f623b6334f565d9c7ec9de5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeba971430f623b6334f565d9c7ec9de5">&#9670;&#160;</a></span>HASH_MAKE_TABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_MAKE_TABLE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (head)-&gt;hh.tbl = (<a class="code hl_struct" href="structUT__hash__table.html">UT_hash_table</a>*)<a class="code hl_define" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(<span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__table.html">UT_hash_table</a>));         \</div>
<div class="line">  if (!(head)-&gt;hh.tbl) {                                                         \</div>
<div class="line">    uthash_fatal(<span class="stringliteral">&quot;out of memory&quot;</span>);                                               \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  uthash_bzero((head)-&gt;hh.tbl, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__table.html">UT_hash_table</a>));                           \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;tail = &amp;((head)-&gt;hh);                                          \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;num_buckets = <a class="code hl_define" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>;                        \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;log2_num_buckets = <a class="code hl_define" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a>;              \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;hho = (<span class="keywordtype">char</span>*)(&amp;(head)-&gt;hh) - (<span class="keywordtype">char</span>*)(head);                    \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;buckets = (<a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a>*)<a class="code hl_define" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(                      \</div>
<div class="line">      <a class="code hl_define" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a> * <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a>));                 \</div>
<div class="line">  if (!(head)-&gt;hh.tbl-&gt;buckets) {                                                \</div>
<div class="line">    uthash_fatal(<span class="stringliteral">&quot;out of memory&quot;</span>);                                               \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  uthash_bzero((head)-&gt;hh.tbl-&gt;buckets,                                          \</div>
<div class="line">      <a class="code hl_define" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a> * <span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a>));                 \</div>
<div class="line">  HASH_BLOOM_MAKE((head)-&gt;hh.tbl);                                               \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;signature = <a class="code hl_define" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a>;                                    \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="authash_8h_html_a0b39a5cf1d6c05c43bd8530db2ec908c"><div class="ttname"><a href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a></div><div class="ttdeci">#define HASH_INITIAL_NUM_BUCKETS_LOG2</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00110">uthash.h:110</a></div></div>
<div class="ttc" id="authash_8h_html_a361cdc5e8d6d8fe5fae6912588ae15d0"><div class="ttname"><a href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a></div><div class="ttdeci">#define HASH_INITIAL_NUM_BUCKETS</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00109">uthash.h:109</a></div></div>
<div class="ttc" id="authash_8h_html_a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><div class="ttname"><a href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a></div><div class="ttdeci">#define HASH_SIGNATURE</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01061">uthash.h:1061</a></div></div>
<div class="ttc" id="authash_8h_html_a861013aff36c0448f1888a2b0b5836d8"><div class="ttname"><a href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a></div><div class="ttdeci">#define uthash_malloc(sz)</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00086">uthash.h:86</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00178">178</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a22c77754346c75bfafd872d2d49c6dc7" name="a22c77754346c75bfafd872d2d49c6dc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22c77754346c75bfafd872d2d49c6dc7">&#9670;&#160;</a></span>HASH_OAT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_OAT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _ho_i;                                                                \</div>
<div class="line">  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *_ho_key=(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)(key);                      \</div>
<div class="line">  hashv = 0;                                                                     \</div>
<div class="line">  for(_ho_i=0; _ho_i &lt; keylen; _ho_i++) {                                        \</div>
<div class="line">      hashv += _ho_key[_ho_i];                                                   \</div>
<div class="line">      hashv += (hashv &lt;&lt; 10);                                                    \</div>
<div class="line">      hashv ^= (hashv &gt;&gt; 6);                                                     \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  hashv += (hashv &lt;&lt; 3);                                                         \</div>
<div class="line">  hashv ^= (hashv &gt;&gt; 11);                                                        \</div>
<div class="line">  hashv += (hashv &lt;&lt; 15);                                                        \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00536">536</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="ab35e223d7385dfbe3c42758f502f4c04" name="ab35e223d7385dfbe3c42758f502f4c04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab35e223d7385dfbe3c42758f502f4c04">&#9670;&#160;</a></span>HASH_OVERHEAD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_OVERHEAD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> (((head) != NULL) ? (                                                           \</div>
<div class="line"> (size_t)(((head)-&gt;hh.tbl-&gt;num_items   * <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__handle.html">UT_hash_handle</a>))   +             \</div>
<div class="line">          ((head)-&gt;hh.tbl-&gt;num_buckets * <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__bucket.html">UT_hash_bucket</a>))   +             \</div>
<div class="line">           <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structUT__hash__table.html">UT_hash_table</a>)                                   +             \</div>
<div class="line">           (<a class="code hl_define" href="uthash_8h.html#a81f88a18c0837c77f40926074e7811db">HASH_BLOOM_BYTELEN</a>))) : 0U)</div>
<div class="ttc" id="authash_8h_html_a81f88a18c0837c77f40926074e7811db"><div class="ttname"><a href="uthash_8h.html#a81f88a18c0837c77f40926074e7811db">HASH_BLOOM_BYTELEN</a></div><div class="ttdeci">#define HASH_BLOOM_BYTELEN</div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l00175">uthash.h:175</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01019">1019</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a9897aa8b1ace582e7bbdef05f21cbc54" name="a9897aa8b1ace582e7bbdef05f21cbc54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9897aa8b1ace582e7bbdef05f21cbc54">&#9670;&#160;</a></span>HASH_REPLACE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _hr_hashv;                                                            \</div>
<div class="line">  HASH_VALUE(&amp;((add)-&gt;fieldname), keylen_in, _hr_hashv);                         \</div>
<div class="line">  HASH_REPLACE_BYHASHVALUE(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced); \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00220">220</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="ab7fc2175a455ed8e8351737b4f8b2842" name="ab7fc2175a455ed8e8351737b4f8b2842"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7fc2175a455ed8e8351737b4f8b2842">&#9670;&#160;</a></span>HASH_REPLACE_BYHASHVALUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE_BYHASHVALUE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (replaced) = NULL;                                                             \</div>
<div class="line">  HASH_FIND_BYHASHVALUE(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, replaced); \</div>
<div class="line">  if (replaced) {                                                                \</div>
<div class="line">    HASH_DELETE(hh, head, replaced);                                             \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, add); \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00210">210</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aa0104b44f5a911bfda7fd9f939e1594f" name="aa0104b44f5a911bfda7fd9f939e1594f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0104b44f5a911bfda7fd9f939e1594f">&#9670;&#160;</a></span>HASH_REPLACE_BYHASHVALUE_INORDER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE_BYHASHVALUE_INORDER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashval, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (replaced) = NULL;                                                             \</div>
<div class="line">  HASH_FIND_BYHASHVALUE(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, replaced); \</div>
<div class="line">  if (replaced) {                                                                \</div>
<div class="line">    HASH_DELETE(hh, head, replaced);                                             \</div>
<div class="line">  }                                                                              \</div>
<div class="line">  HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &amp;((add)-&gt;fieldname), keylen_in, hashval, add, cmpfcn); \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00200">200</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aa6d7a872d8855c9b8bf55d62e8eb0430" name="aa6d7a872d8855c9b8bf55d62e8eb0430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6d7a872d8855c9b8bf55d62e8eb0430">&#9670;&#160;</a></span>HASH_REPLACE_INORDER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE_INORDER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _hr_hashv;                                                            \</div>
<div class="line">  HASH_VALUE(&amp;((add)-&gt;fieldname), keylen_in, _hr_hashv);                         \</div>
<div class="line">  HASH_REPLACE_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced, cmpfcn); \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00227">227</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a43124846a2747f48f45bf9f16631a6da" name="a43124846a2747f48f45bf9f16631a6da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43124846a2747f48f45bf9f16631a6da">&#9670;&#160;</a></span>HASH_REPLACE_INT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE_INT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">intfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,head,intfield,sizeof(int),add,replaced)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00412">412</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a13bcd1176a34c0a924fbf187c897bf68" name="a13bcd1176a34c0a924fbf187c897bf68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13bcd1176a34c0a924fbf187c897bf68">&#9670;&#160;</a></span>HASH_REPLACE_PTR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE_PTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptrfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,head,ptrfield,sizeof(void *),add,replaced)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00418">418</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a069b31f4fbc11094d8d3d5e3b1a641db" name="a069b31f4fbc11094d8d3d5e3b1a641db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a069b31f4fbc11094d8d3d5e3b1a641db">&#9670;&#160;</a></span>HASH_REPLACE_STR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_REPLACE_STR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">strfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">replaced&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;    <a class="el" href="uthash_8h.html#a9897aa8b1ace582e7bbdef05f21cbc54">HASH_REPLACE</a>(hh,head,strfield[0],(unsigned)<a class="el" href="uthash_8h.html#aa14634cb1f894d48256362bae7239be6">uthash_strlen</a>(add-&gt;strfield),add,replaced)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00406">406</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="ae8cf38dbd44a475eb0fa4cdb9988e13a" name="ae8cf38dbd44a475eb0fa4cdb9988e13a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8cf38dbd44a475eb0fa4cdb9988e13a">&#9670;&#160;</a></span>HASH_SAX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SAX</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  <span class="keywordtype">unsigned</span> _sx_i;                                                                \</div>
<div class="line">  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *_hs_key = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)(key);                    \</div>
<div class="line">  hashv = 0;                                                                     \</div>
<div class="line">  for (_sx_i=0; _sx_i &lt; keylen; _sx_i++) {                                       \</div>
<div class="line">    hashv ^= (hashv &lt;&lt; 5) + (hashv &gt;&gt; 2) + _hs_key[_sx_i];                       \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00515">515</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="ad190366f7a476ece79bd628240a5fc93" name="ad190366f7a476ece79bd628240a5fc93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad190366f7a476ece79bd628240a5fc93">&#9670;&#160;</a></span>HASH_SELECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SELECT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh_dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh_src, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cond&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00967">967</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a91480d6a21f082d49d20faeee0295cbb" name="a91480d6a21f082d49d20faeee0295cbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91480d6a21f082d49d20faeee0295cbb">&#9670;&#160;</a></span>HASH_SFH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SFH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00616">616</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a4a7a46b9b92a9c73e4f9321e8e6b6bb2" name="a4a7a46b9b92a9c73e4f9321e8e6b6bb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">&#9670;&#160;</a></span>HASH_SIGNATURE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SIGNATURE&#160;&#160;&#160;0xa0111fe1u</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l01061">1061</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a88d2ab40956878caacd02c214f7e8f15" name="a88d2ab40956878caacd02c214f7e8f15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88d2ab40956878caacd02c214f7e8f15">&#9670;&#160;</a></span>HASH_SORT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SORT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,head,cmpfcn)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00877">877</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a388b4071dcff005154f431d3d3025fbd" name="a388b4071dcff005154f431d3d3025fbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a388b4071dcff005154f431d3d3025fbd">&#9670;&#160;</a></span>HASH_SRT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SRT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00878">878</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a4d7691544128a6ef265f3e4fa5ed3113" name="a4d7691544128a6ef265f3e4fa5ed3113"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d7691544128a6ef265f3e4fa5ed3113">&#9670;&#160;</a></span>HASH_TO_BKT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_TO_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  bkt = ((hashv) &amp; ((num_bkts) - 1U));                                           \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00351">351</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a5bc1c6438f5d6fc56b8dcbf4bbe50271" name="a5bc1c6438f5d6fc56b8dcbf4bbe50271"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bc1c6438f5d6fc56b8dcbf4bbe50271">&#9670;&#160;</a></span>HASH_VALUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_VALUE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  HASH_FCN(keyptr, keylen, hashv);                                               \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00118">118</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a46261e43585c404cccf8ab0f5c6d271e" name="a46261e43585c404cccf8ab0f5c6d271e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46261e43585c404cccf8ab0f5c6d271e">&#9670;&#160;</a></span>HH_FROM_ELMT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HH_FROM_ELMT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">elp&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((<a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> *)(((char*)(elp)) + ((tbl)-&gt;hho)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00116">116</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="af6a40785784ca2d51cb59370eb64d7de" name="af6a40785784ca2d51cb59370eb64d7de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6a40785784ca2d51cb59370eb64d7de">&#9670;&#160;</a></span>uthash_bzero</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_bzero</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;memset(a,'\0',n)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00092">92</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a86ea78714da520989a6f7a764b4d71b4" name="a86ea78714da520989a6f7a764b4d71b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86ea78714da520989a6f7a764b4d71b4">&#9670;&#160;</a></span>uthash_expand_fyi</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_expand_fyi</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td>&#160;&#160;&#160;/* can be defined to log expands   */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00105">105</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a03b52301b0ed976b6981ef33613320c1" name="a03b52301b0ed976b6981ef33613320c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03b52301b0ed976b6981ef33613320c1">&#9670;&#160;</a></span>uthash_fatal</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_fatal</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">msg</td><td>)</td>
          <td>&#160;&#160;&#160;exit(-1)        /* fatal error (out of memory,etc) */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00083">83</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a56cdf8c254fc700332c8e6a7263b4657" name="a56cdf8c254fc700332c8e6a7263b4657"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56cdf8c254fc700332c8e6a7263b4657">&#9670;&#160;</a></span>uthash_free</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_free</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">sz&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;free(ptr)     /* free fcn                        */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00089">89</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a861013aff36c0448f1888a2b0b5836d8" name="a861013aff36c0448f1888a2b0b5836d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a861013aff36c0448f1888a2b0b5836d8">&#9670;&#160;</a></span>uthash_malloc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_malloc</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">sz</td><td>)</td>
          <td>&#160;&#160;&#160;malloc(sz)      /* malloc fcn                      */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00086">86</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a8ca9a884b81d487034b57f87d2f97fa4" name="a8ca9a884b81d487034b57f87d2f97fa4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ca9a884b81d487034b57f87d2f97fa4">&#9670;&#160;</a></span>uthash_memcmp</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_memcmp</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;memcmp(a,b,n)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00095">95</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a7cc237d8f87de3836b5390856cfc5c86" name="a7cc237d8f87de3836b5390856cfc5c86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cc237d8f87de3836b5390856cfc5c86">&#9670;&#160;</a></span>uthash_noexpand_fyi</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_noexpand_fyi</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td>&#160;&#160;&#160;/* can be defined to log noexpand  */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00102">102</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aa14634cb1f894d48256362bae7239be6" name="aa14634cb1f894d48256362bae7239be6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa14634cb1f894d48256362bae7239be6">&#9670;&#160;</a></span>uthash_strlen</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_strlen</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s</td><td>)</td>
          <td>&#160;&#160;&#160;strlen(s)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00098">98</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aa56cef9cb86dc1f4b5d27ee3a691077e" name="aa56cef9cb86dc1f4b5d27ee3a691077e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa56cef9cb86dc1f4b5d27ee3a691077e">&#9670;&#160;</a></span>UTHASH_VERSION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UTHASH_VERSION&#160;&#160;&#160;2.0.2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00027">27</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a435d1572bf3f880d55459d9805097f62" name="a435d1572bf3f880d55459d9805097f62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a435d1572bf3f880d55459d9805097f62">&#9670;&#160;</a></span>uint32_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned int <a class="el" href="uthash_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00078">78</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="aba7bc1797add20fe3efdf37ced1182c5" name="aba7bc1797add20fe3efdf37ced1182c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba7bc1797add20fe3efdf37ced1182c5">&#9670;&#160;</a></span>uint8_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned char <a class="el" href="uthash_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="uthash_8h_source.html#l00079">79</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a id="a3775136bedd7fc8db3ad7c1ad6a7218e" name="a3775136bedd7fc8db3ad7c1ad6a7218e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3775136bedd7fc8db3ad7c1ad6a7218e">&#9670;&#160;</a></span>UT_hash_bucket</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a> <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a817624f072ea116d638b237d518d6f6a" name="a817624f072ea116d638b237d518d6f6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a817624f072ea116d638b237d518d6f6a">&#9670;&#160;</a></span>UT_hash_handle</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a> <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ade349c45717e328f0337b6fe5a0658bf" name="ade349c45717e328f0337b6fe5a0658bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade349c45717e328f0337b6fe5a0658bf">&#9670;&#160;</a></span>UT_hash_table</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a> <a class="el" href="structUT__hash__table.html">UT_hash_table</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_a14d23a24002734ac2a3b997119f008e.html">coap2</a></li><li class="navelem"><a class="el" href="uthash_8h.html">uthash.h</a></li>
    <li class="footer">Generated on Fri Dec 27 2024 09:57:44 for libcoap by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
  </ul>
</div>
</body>
</html>
